<?php

class ObjetoController extends BaseController {

    public function showObjeto($slug, $id){

        $objeto = Objeto::active()
                ->sinAnonimos()
                ->where('slug', $slug)
                ->with([
                    'firstTag' => function($query) {
                            $query->select('nombre');
                        }
                    ])
                ->find($id);
                    
        if( is_null($objeto) ) {
            App::abort(404);
        }
        $tag = $objeto->firstTag->first(); // le pasamos el objeto
        $images = $objeto->imagesOrdered;

        return View::make('objeto', compact('objeto', 'tag', 'images'));
        
    }
    
    public function showObjetos($slug, $id){

        $objetos = Objeto::active()
                        ->with(['imagesOrdered' => function($query) {$query->where('imageobj_objeto.position', 0);}])
                        ->whereHas('tags', function($query) use ($id, $slug) {
                            $query->where('tag_objs.id', $id)->where('tag_objs.slug', $slug);
                        })
                        ->orderBy('position')
                        ->paginate(12);
        
        if( $objetos->isEmpty() ) {
            App::abort(404);
        }

        $lastPage = $objetos->getLastPage(); // ultima pag para infinitescroll
        $categ = TagObj::find($id, ['nombre']);
        
        return View::make('categoria_obj', compact('objetos','categ', 'lastPage'));
    }
        
}
